Racket 哈希表

创建哈希表

; 创建一个空的哈希表
(define h (make-hash))

; 使用键值对创建哈希表
(define h (hash 'a 1 'b 2 'c 3))

访问哈希表

; 根据键获取值
(hash-ref h 'a) ; 返回 1

; 根据键获取值,如果键不存在则返回默认值
(hash-ref h 'd 0) ; 返回 0

修改哈希表

; 在哈希表中添加或更新键值对
(hash-set! h 'd 4)

; 从哈希表中移除键
(hash-remove! h 'a)

检查键是否存在

; 检查哈希表中是否存在某个键
(hash-has-key? h 'a) ; 返回 #t#f

遍历哈希表

; 使用 hash-for-each 遍历哈希表
(hash-for-each (lambda (key value) 
				 (displayln (list key value))) h)

获取哈希表的大小

; 返回哈希表中的键值对数量
(hash-count h)

合并两个哈希表

; 合并 h1 和 h2,如果有重复的键,h2 的值将覆盖 h1 的值
(define h3 (hash-union h1 h2))

本文作者:Maeiee

本文链接:Racket 哈希表

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!